package com.caifu.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 菜单表
 * </p>
 *
 * @author Lyf
 * @since 2020-07-07
 */
@Data
@TableName("sys_menu")
public class SysMenu extends Model<SysMenu> {

    private static final long serialVersionUID = 1L;

    /**
     * 创建人
     */
    @TableField("CREATE_BY")
    private Integer createBy;

    /**
     * 创建时间
     */
    @TableField("CREATE_TIME")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;

    /**
     * 更新人
     */
    @TableField("UPDATE_BY")
    private Integer updateBy;

    /**
     * 更新时间
     */
    @TableField("UPDATE_TIME")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date updateTime;

    /**
     * 主键id
     */
    @TableId(value = "MENU_NO", type = IdType.AUTO)
    private Integer menuNo;

    /**
     * 菜单名称
     */
    @TableField("NAME")
    private String name;

    /**
     * 菜单类型(1.目录 2.菜单 3.按钮)
     */
    @TableField("TYPE")
    private String type;

    /**
     * 父级id
     */
    @TableField("PARENT_NO")
    private Integer parentNo;

    /**
     * 菜单url
     */
    @TableField("URL")
    private String url;

    /**
     * 权限代码
     */
    @TableField("PERMISSION_CODE")
    private String permissionCode;

    /**
     * 是否浏览 0-否  1-是
     */
    @TableField("IS_SEE")
    private String isSee;

    /**
     * 菜单图标
     */
    @TableField("ICON")
    private String icon;

    /**
     * 状态（1.正常 9.删除）
     */
    @TableField("STATUS")
    private String status;

    /**
     * 层级
     */
    @TableField("LEVEL")
    private int level;

    /**
     * 平台（1.应用 2.pc 3.移动端）
     */
    @TableField("PLATFORM")
    private int platform;
    
    /**
     * 颜色
     */
    @TableField("COLOR")
    private String color;


    @Override
    protected Serializable pkVal() {
        return this.menuNo;
    }


}
